The present patent application relates to communication services delivered via a computer system ISP (Internet service provider) network infrastructure and, in particular, to multi-user game playing via an ISP network.
Video games, computer games and online games are well known in the art. Video games function with many hardware platforms and in many software varieties. Video arcade games may be special devices for playing only one application program or game program while home video game devices generally accept cartridges to allow the user to select from a library of cartridges containing game application software. Also, popular are computer games in which a personal computer is used as the hardware platform and application game software is loaded via floppy disk or CD-ROM. Online games are also structured for many Internet platforms and in many software varieties. Such online games may use a personal computer or Internet device as the hardware platform and application game software is loaded via an ISP network or CD-ROM.
There is a need in the art for the delivery of multiple player, multiple game playing services to Internet service subscribers with real time two-way communications in an uncertain communication medium. There is a further need in the art for the ability of multiple Internet service subscribers to play video games or the like in a multi-user game environment over an ISP network linked with handheld game playing devices for updating a game database or a game score from the game server""s database. There is a further need in the art to provide a game playing hardware and software platform for game developers for multi-user game environments.
The apparatus of the present invention satisfies the needs of the marketplace described above and also solves other problems that will be understood by those skilled in the art upon reading and understanding the present specification. The present invention is a system and method for real time data exchange which includes a game server having a multi-threaded multi-processing operating system and located at an ISP head end. The game server is equipped with a back end communication system for full duplex communications over the Internet. The system employs a plurality of personal computers each having means for connecting to the Internet and logging onto the game server, together with a plurality of handheld game playing devices each having a data communications link to one of the personal computers.
Each of the personal computers has a first component of game software operating thereon. The game server has a second component of game software operating thereon and a game database operating thereon. The second component of game software includes first, second, third and fourth process threads. The first process thread is operable for receiving uplink communication packets to register and log in to the game database on the game server from each of the handheld game playing device through the data communications link and the Internet. The second process thread is operable for sending downlink communication packets to specific game software on any one of the personal computers. The third process thread is operable for receiving uplink communication packets from specific game software on each of the personal computers. A fourth process thread is operable for sending downlink communication packets to any one of the handheld game playing devices that include data from the game database.
The first component of game software includes means for executing the first process thread for receiving communication packets and means for executing, after logging onto an online game, a plurality of game processes. Each game process is capable of executing a second component of a specific game process and each is logically connected to the second and third process threads for transmitting and receiving uplink and downlink communications packets and has means for, after completion of game playing, executing the fourth process thread for sending communication packages to update data from the server""s game database into each handheld game playing device through respective personal computer data communications links. The data communications link may be a cable, an IR link, or an IrDA link in various embodiments of the invention.
Some embodiments of the invention include the combination in a system for processing inputs from a plurality of handheld game apparatus. The system includes a first handheld game apparatus, including means for data input and data output and a first PC apparatus, including means for data input and data output. The first PC apparatus includes means for connecting the first PC apparatus to the Internet and means for data communications with a plurality of handheld game apparatus. A game server includes means for connecting to the Internet. The game server has a game database and game software operating thereon. Data is transmitted from each of the handheld devices to the first PC apparatus and then to the game server.
Additional embodiments may further include a plurality of additional PC apparatus each including means for connecting each of the PC apparatus to the Internet and each including means for transmitting data. The system may further include a plurality of sets of handheld game playing apparatus wherein each set communicates with one of the PC apparatus. The means for transmitting data from each of the handheld devices to the PC apparatus may be a cable, an IR link or an IrDA link.
Some forms of the invention provide a multi-user game playing system for providing game playing services to Internet service subscribers. The system includes a plurality game players PC apparatus each having at least one handheld game playing device in communication with a data input thereof. Each of the game players PC apparatus is disposed at the end of an ISP network connection. A first game playing server is located in another ISP head end and is equipped with a network card for data communication over the Internet network with a plurality of game players PC apparatus. A plurality of processes operate on the game playing server to communicate with the game players personal computer and the handheld game playing devices in communication with respective PC apparatus. A plurality of software processes operate on the PC apparatus to communicate from one handheld device to another handheld device via a PC apparatus and from one handheld device to a PC apparatus. The system further includes means for sending a game players registration information from a handheld game playing device to one of the PC apparatus and then to the game server through the Internet.
In some forms of the system, after verification of registration information for a specific handheld device game, software components are loaded at the PC apparatus that is in communication with the particular handheld device.
Some forms of the apparatus in accordance with present invention exchange only game control information between the PC apparatus and the game server to allow high-quality graphics display at the PC apparatus. Some forms of the system further include means to allow users of the handheld devices to log in, play, change and quit each of a plurality of games. Each of the plurality of games may be a concurrently operating game in a separate process in a multitasking environment, while each of the operating threads are event-driven context-switched threads to control user access and communication over the Internet network.
Game playing information and game access information may be exchanged between the game server and each of the PC apparatus using the TCP/IP protocol. In some forms of the system both before and after game playing, a player""s playing score or data from server""s game database is updated to each handheld game playing device. The game server may include a plurality of network cards and the game server may have a distributed processing design in which processors in the network cards relieve the server processor from much of the communication overhead. In some forms of the invention the handheld gaming devices includes means to operate in a standalone mode.
Each of the handheld devices may include means to function with another handheld device independently of a PC apparatus and independently of the game server. The system may include means in the handheld devices for uploading scores of standalone playing via the Internet to the game server. The handheld device may include means for each of the handheld devices to function as a joystick for the PC apparatus during game playing. The communications link between each of the handheld devices and a PC apparatus may be a serial data communications link. The protocol used by the game server may be TCP/IP.